﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Fcdbas.Platform.Interface
{
    /// <summary>
    /// UI需要實現的通用接口
    /// </summary>
    public interface IUIInterface
    {

        #region 屬性

        

        /// <summary>
        /// UI的名稱(一般為UI的Name屬性)
        /// </summary>
        string FormName
        {
            get;
        }

        /// <summary>
        /// 模块
        /// </summary>
        string fb_Component
        {
            set;
            get;
        }

        /// <summary>
        /// 逻辑单元
        /// </summary>
        string fb_LogicalUnit
        {
            set;
            get;
        }

        /// <summary>
        /// 数据库的视图
        /// </summary>
        string fb_View
        {
            set;
            get;
        }

        /// <summary>
        /// 数据库的Package
        /// </summary>
        string fb_Package
        {
            set;
            get;
        }

        /// <summary>
        /// 默认排序字段,标准的排序SQL
        /// </summary>
        string fb_DefaultOrderBy
        {
            set;
            get;
        }

        /// <summary>
        /// 默认的Where条件
        /// </summary>
        string fb_DefaultWhere
        {
            set;
            get;
        }

        /// <summary>
        /// 是否允许警告信息
        /// </summary>
        string fb_EnableWarning
        {
            set;
            get;
        }

        /// <summary>
        /// 否允许修改
        /// </summary>
        bool fb_Modify
        {
            set;
            get;
        }

        /// <summary>
        /// 否允许新增
        /// </summary>
        bool fb_New
        {
            set;
            get;
        }

        /// <summary>
        /// 否允许删除
        /// </summary>
        bool fb_Remove
        {
            set;
            get;
        }

        /// <summary>
        /// 预留属性
        /// </summary>
        string fb_StateMachine
        {
            set;
            get;
        }

        /// <summary>
        /// 都是否StandardPLSQL
        /// </summary>
        string fb_UpdateMethod
        {
            set;
            get;
        }

        ///// <summary>
        ///// UI顯示時的容器()
        ///// </summary>
        //DevExpress.XtraTab.XtraTabPage TabPage
        //{
        //    get;
        //}

        #endregion

        #region 方法

        /// <summary>
        /// 處理UI中控件的數據綁定
        /// </summary>
        void ProcessDataBind();

        /// <summary>
        /// 處理UI中的控件顯示的多語言
        /// </summary>
        void ProcessLanguage();

        /// <summary>
        /// 處理UI的Function Right
        /// </summary>
        void ProcessFunctionRight();

        /// <summary>
        /// 處理UI的工作流
        /// </summary>
        void ProcessWorkFlow();

        /// <summary>
        /// 處理Formr Relation
        /// </summary>
        void ProcessFormRelation();

        /// <summary>
        /// 數據綁定方法
        /// </summary>
        void DataBind();

        /// <summary>
        /// 關閉當前UI
        /// </summary>
        void Close();
      
        #endregion
    }
}
